* src/xselect.c: ICCCM-compliant handling of MULTIPLE targets.
authorChong Yidong <cyd@stupidchicken.com>
Thu, 26 May 2011 17:42:32 +0000 (13:42 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Thu, 26 May 2011 17:42:32 +0000 (13:42 -0400)
commit9e0b3937b83d97cb535cae36f6ef51064688cf53
tree049b574678dbb338ef62a18852e59f6178c5cc76
parent17fb78e55c18b110c70c457aa1a4336dd7e1a35d
* src/xselect.c: ICCCM-compliant handling of MULTIPLE targets.
(converted_selections, conversion_fail_tag): New global variables.
(x_selection_request_lisp_error): Free the above.
(x_get_local_selection): Remove unnecessary code.
(x_reply_selection_request): Args changed; handle arbitrary array
of converted selections stored in converted_selections.  Separate
the XChangeProperty and SelectionNotify steps.
(x_handle_selection_request): Rewrite to handle MULTIPLE target.
(x_convert_selection): New function.
(x_handle_selection_event): Simplify.
(x_get_foreign_selection): Don't ignore incoming requests while
waiting for an answer; this will fail when we implement
SAVE_TARGETS, and seems unnecessary anyway.
(selection_data_to_lisp_data): Recognize ATOM_PAIR type.
(Vx_sent_selection_functions): Doc fix.
src/ChangeLog
src/xselect.c